{% extends "base.html" %}
{% block content %}	
{% from 'include/input_macros.html' import input, checkbox %}
<script src="/inc/users.js"></script>
<script src="/inc/ha.js"></script>
<link href="/inc/provisioning.css" rel="stylesheet">
<style>
	p {margin: 0;}
</style>
{% if user_status == 0 or user_plan == 'user' %}
{% include 'include/no_sub.html' %}
{% else %}
<table class="overview" style="margin-bottom: 20px;">
	<caption><h3>Create a new HA cluster</h3></caption>
	<tr class="overviewHead">
		<td class="padding10 first-collumn">Current installation</td>
		<td class="padding10 first-collumn">Master</td>
		<td class="padding10 first-collumn">Current installation</td>
		<td>Slave</td>
		<td><span title="Interface for VRRP address on a Master slave">Master Interface</span></td>
		<td><span title="Interface for VRRP address on a Slave server">Slave Interface</span></td>
		<td>VRRP IP</td>
		<td></td>
	</tr>
	<tr>
		<td class="padding10 first-collumn" id="cur_master_ver"></td>
		<td class="padding10 first-collumn">
			<select id="master">
				<option disabled selected>------</option>
				{% for select in selects %}
					<option value="{{ select.2 }}">{{ select.1 }}</option>
				{% endfor %}
			</select>
		</td>
		<td class="padding10 first-collumn" id="cur_slave_ver"></td>
		<td>
			<select id="slave">
				<option disabled selected>------</option>
				{% for select in selects %}
					<option value="{{ select.2 }}">{{ select.1 }}</option>
				{% endfor %}
			</select>
		</td>
		<td>{{ input('interface', size='7', title='Interface for VRRP address on a Master server') }}</td>
		<td>{{ input('slave_interface', size='7', title='Interface for VRRP address a Slave server') }}</td>
		<td>{{ input('vrrp-ip', size='14') }}</td>
	</tr>
	<tr class="overviewHead">
		<td class="padding10 first-collumn"></td>
		<td class="checkbox-head help_cursor"><span title="Roxy-WI will add VRRP address as a separated server">Add VIRT</span></td>
		<td class="padding10 syn-flood-protection-field help_cursor" title="If checked, Keepalived master will reclaim VRRP after recovered">Return to Master state</td>
		<td class="checkbox-head">SYN-flood protection</td>
		<td class="checkbox-head help_cursor" style="padding: 10px 10px 10px 0;"><span title="Roxy-WI will try to install HAProxy">HAProxy</span></td>
		<td class="checkbox-head help_cursor" style="display: none" id="haproxy_docker_td_header"><span title="Roxy-WI will install HAProxy as Docker container">Docker</span></td>
		<td class="checkbox-head help_cursor"><span title="Roxy-WI will try to install NGINX">NGINX</span></td>
		<td class="checkbox-head help_cursor" style="display: none" id="nginx_docker_td_header"><span title="Roxy-WI will install NGINX as Docker container">Docker</span></td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td class="padding10 first-collumn"></td>
		<td class="checkbox help_cursor">{{ checkbox('virt_server', title='Roxy-WI will add VRRP address as a separated server', checked='checked') }}</td>
		<td class="checkbox-head syn-flood-protection-field help_cursor">{{ checkbox('return_to_master', checked='checked') }}</td>
		<td class="syn-flood-protection-field">{{ checkbox('syn_flood') }}</td>
		<td class="checkbox help_cursor" style="padding: 10px 10px 10px 15px;">{{ checkbox('hap', title='Roxy-WI will try to install HAProxy') }}</td>
		<td class="checkbox help_cursor" style="display: none" id="haproxy_docker_td">{{ checkbox('hap_docker', title='Roxy-WI will install HAProxy as a Docker container') }}</td>
		<td class="checkbox help_cursor">{{ checkbox('nginx', title='Roxy-WI will try to install NGINX') }}</td>
		<td class="checkbox help_cursor" style="display: none" id="nginx_docker_td">{{ checkbox('nginx_docker', title='Roxy-WI will install NGINX as a Docker container') }}</td>
		<td>
			<button id="create" title="Create HA cluster">Create</button>
		</td>
		<td></td>
	</tr>
</table>
		
<table class="overview">
	<caption><h3>Add VRRP to an existing cluster</h3></caption>
	<tr class="overviewHead">
		<td class="padding10 first-collumn">Current installation</td>
		<td class="padding10 first-collumn">Master</td>
		<td class="padding10 first-collumn">Current installation</td>
		<td>Slave</td>
		<td><span title="Interface for VRRP address on a Master Server">Master Interface</span></td>
		<td><span title="Interface for VRRP address on a Slave Server">Slave Interface</span></td>
		<td>VRRP IP</td>
	</tr>
	<tr>
		<td class="padding10 first-collumn" id="cur_master_ver-add"></td>
		<td class="padding10 first-collumn">
			<select id="master-add">
				<option disabled selected>------</option>
				{% for select in selects %}
					<option value="{{ select.2 }}">{{ select.1 }}</option>
				{% endfor %}
			</select>
		</td>
		<td class="padding10 first-collumn" id="cur_slave_ver-add"></td>
		<td>
			<select id="slave-add">
				<option disabled selected>------</option>
				{% for select in selects %}
					<option value="{{ select.2 }}">{{ select.1 }}</option>
				{% endfor %}
			</select>
		</td>
		<td>{{ input('interface-add', size='7', title='Interface for VRRP address') }}</td>
		<td>{{ input('slave_interface-add', size='7', title='Interface for VRRP address') }}</td>
		<td>{{ input('vrrp-ip-add', size='14') }}</td>
	</tr>
	<tr class="overviewHead">
		<td></td>
		<td></td>
		<td></td>
		<td></td>
		<td class="padding10 first-collumn checkbox-head"><span title="If checked Roxy-WI will restart Keepalived">Restart</span></td>
		<td class="checkbox-head help_cursor" title="If checked, Keepalived master will reclaim VRRP after recovered">Return to Master state</td>
		<td></td>
	</tr>
	<tr>
		<td></td>
		<td></td>
		<td></td>
		<td></td>
		<td class="padding10 first-collumn checkbox help_cursor">{{ checkbox('kp', title='If checked Roxy-WI will restart Keepalived') }}</td>
		<td class="syn-flood-protection-field">{{ checkbox('add_return_to_master', checked='checked') }}</td>
		<td>
			<button id="add-vrrp" title="Add a HA configuration" style="width: 70px;">Add</button>
		</td>
	</tr>
</table>
<div id="ajax"></div>
<div class="add-note alert addName alert-info" style="width: inherit; margin-right: 15px;">
	Read <a href="https://roxy-wi.org/howto.py?howto=ha_cluster" title="How to create high available cluster" target="_blank">How to create high available cluster</a>
</div>
<div id="server_creating" style="display: none;">
    <ul style="padding: 20px 20px 0px 20px;font-size: 15px;">
        <li id="creating-master" class="server-creating proccessing">Installing Master Keepalived...</li>
        <li id="creating-slave" class="server-creating proccessing">Installing Slave Keepalived...</li>
    	<div id="haproxy_installing_div" style="display: none">
        	<li id="creating-haproxy-master" class="server-creating">Installing Master Haproxy...</li>
        	<li id="creating-haproxy-slave" class="server-creating">Installing Slave Haproxy...</li>
		</div>
		<div id="nginx_installing_div" style="display: none">
        	<li id="creating-nginx-master" class="server-creating">Installing Master NGINX...</li>
        	<li id="creating-nginx-slave" class="server-creating">Installing Slave NGINX...</li>
		</div>
	</ul>
    <div id="wait-mess"></div>
    <div id="created-mess" class="alert alert-success" style="display:none;"></div>
    <div id="creating-error" class="alert alert-danger" style="display:none;"></div>
    <div id="creating-warning" class="alert alert-warning" style="display:none;"></div>
    <div class="progress-bar-striped">
        <div id="creating-progress" style="width: 0%;"></div>
    </div>
</div>
<div id="address_creating" style="display: none;">
    <ul style="padding: 20px 20px 0px 20px;font-size: 15px;">
        <li id="creating-master-add" class="server-creating proccessing">Creating a new address on Master Keepalived...</li>
        <li id="creating-slave-add" class="server-creating proccessing">Creating a new address on Slave Keepalived...</li>
	</ul>
    <div id="wait-mess-add"></div>
    <div id="created-mess-add" class="alert alert-success" style="display:none;"></div>
    <div id="creating-error-add" class="alert alert-danger" style="display:none;"></div>
    <div id="creating-warning-add" class="alert alert-warning" style="display:none;"></div>
    <div class="progress-bar-striped">
        <div id="creating-progress-add" style="width: 0%;"></div>
    </div>
</div>
{% endif %}
{% endblock %}
